/*
配置包，提供项目的配置信息
*/
package config

import (
	"public.com/goutil/configUtil"
	"public.com/goutil/debugUtil"
)

var (
	// 是否是DEBUG模式
	DEBUG bool

	// web服务监听端口
	WerbServerAddress string

	// GameServer监听端口
	GameServerAddress string

	// 战斗服务器地址
	FightServerAddress string

	// crossserverId
	CrossServerId int

	// 是否是中心服务器地址
	CrossServerCenter bool

	// 数据中心服务器地址
	DataCenterAddress string

	// es urls
	EsUrls string
)

// 初始化基础配置数据
func initBaseConfig(configObj *configUtil.XmlConfig) error {
	// 设置调试模式状态
	debug := configObj.DefaultBool("root/DEBUG", "", false)
	// 为DEBUG模式赋值
	DEBUG = debug
	// 设置debugUtil的状态
	debugUtil.SetDebug(DEBUG)

	var err error

	// 解析CrossServerCenter配置
	CrossServerCenter, err = configObj.Bool("root/CrossServerCenter", "")
	if err != nil {
		return err
	}

	// 解析rpcConfig配置
	WerbServerAddress, err = configObj.String("root/WerbServerAddress", "")
	if err != nil {
		return err
	}

	// 解析GameServerAddress配置
	GameServerAddress, err = configObj.String("root/GameServerAddress", "")
	if err != nil {
		return err
	}

	FightServerAddress, err = configObj.String("root/FightServerAddress", "")
	if err != nil {
		return err
	}

	// 解析crossserverid配置
	CrossServerId, err = configObj.Int("root/CrossServerId", "")
	if err != nil {
		return err
	}

	DataCenterAddress, err = configObj.String("root/DataCenterAddress", "")
	if err != nil {
		return err
	}

	EsUrls, err = configObj.String("root/EsUrls", "")
	if err != nil {
		return err
	}

	return nil
}

// 服务器组是否有效
// serverGroupId:服务器组Id
func GetCrossServerId() int32 {
	return int32(CrossServerId)
}
